The increasing reliance upon computer systems to collect, process, and analyze data has led to the continuous improvement of the system assembly process and associated hardware. With the improvements in speed and density of integrated circuits, the cost and complexities of designing and testing these integrated circuits has dramatically increased. Currently, large complex industrial integrated circuit testers (commonly referred to in the industry as “Automated Test Equipment” or “ATE”) perform complex testing of integrated circuit devices, such as integrated circuits, printed circuit boards (PCBs), multi-chip modules (MCMs), System-on-Chip (SOC) devices, printed circuit assemblies (PCAs), etc. The tests that must be performed may include, among others, in-circuit test (ICT), functional test, and structural test, and are designed to verify proper structural, operational, and functional performance of the device under test (DUT).
An example of an automated test is the performance of an in-circuit test. In-circuit testing, which verifies the proper electrical connections of the components on the printed circuit board (PCB), is typically performed using a bed-of-nails fixture or robotic flying-prober (a set of probes that may be programmably moved). The bed-of-nails fixture/robotic flying-prober probes nodes of the device under test, applies a set of stimuli, and receives measurement responses. An analyzer processes the measurement responses to determine whether the test passed or failed.
A typical in-circuit test will cover many thousands of devices, including resistors, capacitors, diodes, transistors, inductors, etc. Tests are typically passed to the tester via some type of user interface. Typically, a graphical user interface is provided to allow an engineer or test technician to manually enter tests or, in testers that provide test generation capability, to enter various configurations and parameters for each type of device and to instruct the tester to automatically generate tests for devices of that type. However, in order to execute any test, whether entered manually or generated automatically by tester software, current software requires manual intervention to schedule the execution of tests.
Often, significant time is spent in setting up, configuring, and debugging a given test to be executed by the tester. During this time, the tester sits idle. More particularly, a typical technique for debugging in-circuit tests is by sending interactive tests to the testhead using a trial and error approach. Regardless of the experience of the test engineer and conditions under which the engineer is working, which can vary widely and therefore result in differing solution times, this approach does not fully maximize usage of the in-circuit testhead.
In addition, upon completion of any given test, unless additional tests have been scheduled, the testhead is also left idle. During debug operations, the execution of a next test depends greatly on the technician's decision to formulate the next trial combination. Time taken for this to happen includes navigation of test information, cross-referencing of test information and attributes, and the test engineer's thought process in determining what avenue of approach to try next in the test process. Accordingly, a contribution in the art would be a technique for maximizing the utilization of the testhead. Another contribution in the art would be to have the tester automatically generate and execute tests for a device under test during idle time of the testhead.